package org.mall.convert.product;

import org.mall.modules.pojo.product.dto.CommoditySkuAddDTO;
import org.mall.modules.pojo.product.dto.CommoditySpuAddDTO;
import org.mall.modules.pojo.product.dto.CommoditySpuDTO;
import org.mall.modules.pojo.product.dto.CommoditySpuUpdateDTO;
import org.mall.modules.pojo.product.vo.commodity.CommoditySpuVO;
import org.mall.modules.pojo.product.vo.commodity.ProductSpuVO;
import org.mall.modules.product.entities.CommoditySku;
import org.mall.modules.product.entities.CommoditySpu;
import org.mall.modules.product.entities.ProductMsg;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

@Mapper
public interface CommoditySpuConvert {
    CommoditySpuConvert INSTANCE = Mappers.getMapper(CommoditySpuConvert.class);

    List<CommoditySpuVO> convert1(List<CommoditySpu> spus);

    CommoditySpuVO convert2(CommoditySpu o);
    CommoditySpu convert3(CommoditySpuAddDTO dto);
    List<CommoditySku> convert4(List<CommoditySkuAddDTO> dtos);

    CommoditySpu convert5(CommoditySpuUpdateDTO dto);

    List<ProductSpuVO> convert6(List<CommoditySpuVO> spuVOList);

    List<ProductSpuVO> convert7(List<CommoditySpuDTO> commoditySpuDTOS);

    ProductSpuVO convert8(ProductMsg productMsg);
}
